﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HA.ModFlow.Domain.DomainLayer
{
    [Serializable]
    /// <summary>
    /// BCF层的基本抽象
    /// </summary>
    public class BCFLayer:ICloneable
    {

        public BCFLayer(int rowi, int colj)
        {
            //_TRANSMISSITY = new double[rowi, colj];
            //_LEAKANCE = new double[rowi, colj];
            //_WETDRY = new double[rowi, colj];
            //_SF1 = new double[rowi, colj];
            //_SF2 = new double[rowi, colj];
            //_HY = new double[rowi, colj];
            //_VCONT=new double[rowi,colj];

            ////初始化默认值
            //for(int i = 0; i < rowi; i++)
            //    for (int j = 0; j < colj; j++)
            //    {
            //        this._LEAKANCE[i,j] = 3.0;
            //        this._WETDRY[i, j] = 1.0;
            //    }

        }


        BCFLAYERTYPE _layerType;

        public BCFLAYERTYPE LayerType
        {
            get { return _layerType; }
            set { _layerType = value; }
        }

        int _LAYAVG;

        /// <summary>
        /// 0,1,2 标志位，interblock transmissity的计算方法
        /// </summary>
        public int LAYAVG
        {
            get { return _LAYAVG; }
            set { _LAYAVG = value; }
        }

        double _TRPY=1;

        /// <summary>
        /// 图层共用的因子
        /// </summary>
        public double TRPY
        {
            get { return _TRPY; }
            set { _TRPY = value; }
        }



        //double[,] _TRANSMISSITY;

        //public double[,] TRANSMISSITY
        //{
        //    get { return _TRANSMISSITY; }
        //    set { _TRANSMISSITY= value; }
        //}


        //double[,] _LEAKANCE;

        //public double[,] LEAKANCE
        //{
        //    get { return _LEAKANCE; }
        //    set { _LEAKANCE = value; }
        //}



        //double[,] _WETDRY;
        ///// <summary>
        ///// 干湿转换标志
        ///// </summary>
        //public double[,] WETDRY
        //{
        //    get { return _WETDRY; }
        //    set { _WETDRY = value; }
        //}

        //double[,] _VCONT;

        //public double[,] VCONT
        //{
        //    get { return _VCONT; }
        //    set { _VCONT = value; }
        //}

        //double[,] _SF1;

        ///// <summary>
        ///// 当至少存在一个tansient层时，需要此数据
        ///// </summary>
        //public double[,] SF1
        //{
        //    get { return _SF1; }
        //    set { _SF1 = value; }
        //}

        //double[,] _SF2;

        ///// <summary>
        ///// 至少存在一个瞬时周期，且层类型为2或者3
        ///// </summary>
        //public double[,] SF2
        //{
        //    get { return _SF2; }
        //    set { _SF2 = value; }
        //}

        //double[,] _HY;

        ///// <summary>
        ///// 当层类型为1或者3时，需要此数据，行的水力传导系数。HY乘以TRPY等于列的水力传导系数
        ///// </summary>
        //public double[,] HY
        //{
        //    get { return _HY; }
        //    set { _HY = value; }
        //}

        public object Clone()
        {
            return this.MemberwiseClone();
        }
    }
}
